//package com.xinggq.pay.service.pay.channel.yse.pay.wap.dto;
//
//import cn.hutool.core.bean.BeanUtil;
//import cn.hutool.core.date.DateUtil;
//import com.fasterxml.jackson.annotation.JsonProperty;
//import com.xinggq.pay.service.entity.YsePayConfigEntity;
//import com.xinggq.pay.service.pay.channel.yse.enums.YseMethodEnum;
//import com.xinggq.pay.service.pay.channel.yse.utils.YseUtil;
//import lombok.Data;
//
///**
// * WAP网站支付页面接入
// * @author xinggq
// */
//@Data
//public class H5BankPayResqDTO {
//
//    private InnerParamDto requestData;
//    private String requestGateWay;
//    private String parameters;
//
//    @Data
//    public static class InnerParamDto {
//        /**
//         * 接口名称
//         */
//        @JsonProperty("method")
//        private String method;
//        /**
//         * 在银盛支付开设的服务商商户号
//         */
//        @JsonProperty("partner_id")
//        private String partnerId;
//        /**
//         * 发送请求的时间
//         */
//        @JsonProperty("timestamp")
//        private String timestamp;
//        /**
//         * 商户网站使用的编码格式
//         */
//        @JsonProperty("charset")
//        private String charset;
//        /**
//         * 报文签名算法，
//         */
//        @JsonProperty("sign_type")
//        private String signType;
//        /**
//         * RSA签名字符串，再用Base64编码
//         */
//        @JsonProperty("sign")
//        private String sign;
//        /**
//         * 交易成功异步通知到商户的后台地址
//         */
//        @JsonProperty("notify_url")
//        private String notifyUrl;
//        /**
//         * 银盛支付处理完请求后，当前页面自动跳转到商户网站里指定页面的http路径
//         */
//        @JsonProperty("return_url")
//        private String returnUrl;
//        /**
//         * 接口版本3.0 当前版本3.0
//         */
//        @JsonProperty("version")
//        private String version;
//        /**
//         * 商户系统生成的订单号，须保证在商户端不重复
//         */
//        @JsonProperty("out_trade_no")
//        private String outTradeNo;
//        /**
//         * 商户日期(该参数做交易与查询时需要一致)
//         */
//        @JsonProperty("shopdate")
//        private String shopdate;
//        /**
//         * 订单备注
//         */
//        @JsonProperty("subject")
//        private String subject;
//        /**
//         *该笔订单的资金总额
//         */
//        @JsonProperty("total_amount")
//        private String totalAmount;
//        /**
//         * 收款商户号（银盛支付生成并下发）
//         */
//        @JsonProperty("seller_id")
//        private String sellerId;
//        /**
//         * 设置未付款交易的超时时间
//         */
//        @JsonProperty("timeout_express")
//        private String timeoutExpress;
//        /**
//         * 业务代码
//         */
//        @JsonProperty("business_code")
//        private String businessCode;
//    }
//
//
//    public static H5BankPayResqDTO buildH5BankPayParams(YsePayParamDTO payParamDto, YsePayConfigEntity ysePayConfig) {
//        InnerParamDto bankPay = new InnerParamDto();
//
//        bankPay.setMethod(ysePayConfig.getMethod());
//        bankPay.setPartnerId(ysePayConfig.getPartnerId());
//        bankPay.setBusinessCode(ysePayConfig.getBusinessCode());
//        bankPay.setNotifyUrl(ysePayConfig.getNotifyUrl());
//        bankPay.setVersion(ysePayConfig.getVersion());
//        bankPay.setOutTradeNo(payParamDto.getChannelOutTradeNo());
//        bankPay.setSellerId(ysePayConfig.getSellerId());
//        bankPay.setReturnUrl(ysePayConfig.getReturnUrl());
//        bankPay.setTimestamp(DateUtil.now());
//        bankPay.setShopdate(DateUtil.now());
//        bankPay.setCharset("UTF-8");
//        bankPay.setSignType("RSA");
//        bankPay.setSubject("H5网银支付");
//        bankPay.setTimeoutExpress("500m");
//        bankPay.setTotalAmount(payParamDto.getTotalAmount().toString());
//        bankPay.setSign(YseUtil.generateSignWithOutEncodeForH5(bankPay));
//
//        H5BankPayResqDTO ysePayDeskDTO = new H5BankPayResqDTO();
//        ysePayDeskDTO.setRequestData(bankPay);
//        ysePayDeskDTO.setRequestGateWay(YseMethodEnum.WAP_PAY.getGatewayUrl());
//        ysePayDeskDTO.setParameters(YseMethodEnum.WAP_PAY.getGatewayUrl() + YseUtil.mapToSortedString(BeanUtil.beanToMap(bankPay)));
//        return ysePayDeskDTO;
//
//    }
//
//
//}
